package com.sc.nft.admin.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
public class ToFreeMarketRequest{


    @ApiModelProperty("配置id")
    @NotNull(message = "id不能为空")
    private Long id;

    @ApiModelProperty("手续费")
    @NotNull(message = "手续费不能为空")
    @Range(min = 1, max = 100, message = "手续费取值范围不正确")
    private BigDecimal charge;

    @ApiModelProperty("最小价格")
    @NotNull(message = "最小价格不能为空")
    @Range(min = 1, max = 99999, message = "最小价格取值范围不正确")
    private BigDecimal minPrice;

    @ApiModelProperty("最大价格")
    @NotNull(message = "最大价格不能为空")
    @Range(min = 1, max = 99999, message = "最大价格取值范围不正确")
    private BigDecimal maxPrice;

    @ApiModelProperty("浮动价格")
    @NotNull(message = "浮动价格不能为空")
    @Range(min = 1, max = 99999, message = "浮动价格取值范围不正确")
    private BigDecimal floatingPrice;

    @ApiModelProperty("是否锁仓")
    @NotNull(message = "请设置是否锁仓")
    private Boolean isLockedPosition;

    @ApiModelProperty("分润模板Id")
    @NotNull(message = "分润模板Id不能为空")
    private Long shareProfitPanelId;

    @ApiModelProperty("锁仓类型 0:省缺 1:时间模式 2:日期形式 时间模式是获取藏品后延后多久,日期形式是统一锁到对应的时间")
    private Integer lockedPositionType;

    @ApiModelProperty("锁仓市场小时")
    private Integer lockedPositionHour;

    @ApiModelProperty("锁仓到期日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lockedPositionTime;

    @ApiModelProperty("是否为平台展示")
    private Boolean platformShow;

    @ApiModelProperty("是否为品牌岛展示")
    private Boolean brandShow;

    @ApiModelProperty("是否为企业展示")
    private Boolean firmShow;

    @ApiModelProperty("gas上链费")
    private BigDecimal gas;

}
